package cn.stylefeng.guns.modular.time.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;

import java.io.Serializable;
import java.util.Date;

/**
 * 文件传输任务实体类
 *
 * 用于保存 croc 生成的 code 值、文件路径和内网 IP 等信息，
 * 以便在其他电脑检索并完成文件下载。
 *
 * @author AI
 * @date 2025/09/27
 */
@TableName("ti_file_transfers")
public class FileTransfers extends BaseEntity implements Serializable {

    /** 主键 */
    @TableId("transfer_id")
    private Long transferId;

    /** 文件名及目录（完整路径） */
    @TableField("file_path")
    private String filePath;

    /** croc 生成的 code 值 */
    @TableField("code")
    private String code;

    /** 内网 IP 地址 */
    @TableField("intranet_ip")
    private String intranetIp;

    /** 删除标记：Y-已删除，N-未删除 */
    @TableField("del_flag")
    private String delFlag;

    /** 创建时间 */
    @TableField("create_time")
    private Date createTime;

    /** 创建人 */
    @TableField("create_user")
    private Long createUser;

    /** 更新时间 */
    @TableField("update_time")
    private Date updateTime;

    /** 更新人 */
    @TableField("update_user")
    private Long updateUser;

    /** 租户号 */
    @TableField("tenant_id")
    private Long tenantId;

    /**
     * 获取主键
     * @return transferId 主键ID
     */
    public Long getTransferId() {
        return transferId;
    }

    /**
     * 设置主键
     * @param transferId 主键ID
     */
    public void setTransferId(Long transferId) {
        this.transferId = transferId;
    }

    /**
     * 获取文件路径
     * @return filePath 文件名及目录
     */
    public String getFilePath() {
        return filePath;
    }

    /**
     * 设置文件路径
     * @param filePath 文件名及目录
     */
    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }

    /**
     * 获取 croc code 值
     * @return code code 值
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置 croc code 值
     * @param code code 值
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 获取内网 IP
     * @return intranetIp 内网IP地址
     */
    public String getIntranetIp() {
        return intranetIp;
    }

    /**
     * 设置内网 IP
     * @param intranetIp 内网IP地址
     */
    public void setIntranetIp(String intranetIp) {
        this.intranetIp = intranetIp;
    }

    /**
     * 获取删除标记
     * @return delFlag 删除标记
     */
    public String getDelFlag() {
        return delFlag;
    }

    /**
     * 设置删除标记
     * @param delFlag 删除标记
     */
    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    /**
     * 获取创建时间
     * @return createTime 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取创建人
     * @return createUser 创建人ID
     */
    public Long getCreateUser() {
        return createUser;
    }

    /**
     * 设置创建人
     * @param createUser 创建人ID
     */
    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    /**
     * 获取更新时间
     * @return updateTime 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置更新时间
     * @param updateTime 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取更新人
     * @return updateUser 更新人ID
     */
    public Long getUpdateUser() {
        return updateUser;
    }

    /**
     * 设置更新人
     * @param updateUser 更新人ID
     */
    public void setUpdateUser(Long updateUser) {
        this.updateUser = updateUser;
    }

    /**
     * 获取租户号
     * @return tenantId 租户ID
     */
    public Long getTenantId() {
        return tenantId;
    }

    /**
     * 设置租户号
     * @param tenantId 租户ID
     */
    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }
}